package cn.com.utils;

import java.util.Base64;

/**
 * 加密实用程序
 *
 * @author LiuGuodong
 * @date 2024/03/05
 */
public class EncryptionUtil {

    // 判断字符串是否可能是加密后的结果
    public static boolean isPossiblyEncrypted(String input) {
        if (StringUtil.isBlank(input) || input.length() > 1024) {
            return false;
        }
        return input.contains("=") || input.contains("CIPHER");
    }


    // 判断字符串是否符合 Base64 编码规范
    private static boolean isBase64Encoded(String input) {
        try {
            Base64.getDecoder().decode(input);
            return true;
        } catch (Exception e) {
            return false;
        }
    }

    // 判断字符串是否包含加密的字符
    private static boolean hasUnusualCharacters(String input) {
        if (StringUtil.isBlank(input)) {
            return false;
        }
        // 根据实际情况定义特殊字符集
        return input.contains("=");
    }

    // 判断字符串是否包含加密文件的头标识
    private static boolean hasEncryptionHeader(String input) {
        if (StringUtil.isBlank(input)) {
            return false;
        }
        // 根据实际情况定义加密文件的头标识
        String encryptionHeader = "--CIPHER--";
        return input.contains("--CIPHER--");
    }

    public static void main(String[] args) {
        boolean isEncrypted = isPossiblyEncrypted("input");
        if (isEncrypted) {
            System.out.println("The input string is possibly encrypted.");
        } else {
            System.out.println("The input string is not encrypted.");
        }
    }
}
